package pers.amos.eshop.service;

import pers.amos.eshop.model.ProductInventory;

/**
 * @author amos wong
 * @create 2020-11-14 4:02 下午
 * <p>
 * 商品库存service
 */

public interface ProductInventoryService {

    /**
     * 更新商品库存
     * @param productInventory
     */
    void updateProductInventory(ProductInventory productInventory);

    /**
     * 删除Redis中的商品库存的缓存
     * @param productInventory 商品库存
     */
    void removeProductInventoryCache(ProductInventory productInventory);

    /**
     * 根据商品id查找库存
     * @param productId
     * @return
     */
    ProductInventory findProductInventoryByProductId(Long productId);


    /**
     * 设置商品库存的缓存
     * @param productInventory 商品库存
     */
    void setProductInventoryCache(ProductInventory productInventory);

    /**
     * 查询redis中商品的缓存
     * @param productId
     * @return
     */
    ProductInventory getProductInventoryCache(Long productId);
}
